diff options
Diffstat (limited to 'src/routes/player/[player]/+page.ts')
-rw-r--r-- | src/routes/player/[player]/+page.ts | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/routes/player/[player]/+page.ts b/src/routes/player/[player]/+page.ts new file mode 100644 index 0000000..023c3ff --- /dev/null +++ b/src/routes/player/[player]/+page.ts @@ -0,0 +1,19 @@ +import type { PageLoad } from './$types' +import { fetchApi } from '$lib/api' +import { error, redirect } from '@sveltejs/kit' + +export const load = (async ({ params, fetch }) => { + const player: string = params.player! + + const data = await fetchApi(`player/${player}?customization=true`, fetch).then(r => r.json()) + + if (!data.player) { + throw error(404, 'Unknown player') + } + + if (data.player.username !== player) { + throw redirect(302, `/player/${data.player.username}`) + } + + return data +}) satisfies PageLoad |